<!DOCTYPE html>
<script src="../../resources/run-after-layout-and-paint.js"></script>
<script>
if (window.testRunner)
  testRunner.waitUntilDone();

function test(start, end) {
  var text = document.getElementsByTagName('div')[0].firstChild;
  window.getSelection().setBaseAndExtent(text, start, text, end);
  if (start == end) {
    if (window.testRunner)
      testRunner.notifyDone();
    return;
  }
  runAfterLayoutAndPaint(function() {
    test(start + 1, end - 1);
  });
}

onload = function() {
  test(1, 25);
};
</script>
There should be no residue when shrinking a selection under a sub-pixel-positioned element.
<div style="position: absolute; left: 0.3px">
ABCDEFGHIJKLMNOPQRSTUVWXYZ
</div>
